package model

import (
	"gorm.io/gorm"
	"time"
)

type User struct {
	ID              uint           `gorm:"primaryKey;autoIncrement" json:"id"`                           // 用户ID，主键，自增
	UserName        string         `gorm:"column:user_name;type:varchar(50);not null" json:"user_name"`  // 用户名
	HeadPortraitURL string         `gorm:"column:head_portrait_url;type:varchar(500)" json:"avatar_url"` // 头像路径
	Password        string         `gorm:"column:password;type:varchar(100);not null" json:"password"`   // 登录密码
	Type            uint           `gorm:"column:type;type:tinyint;default:3" json:"type"`               // 用户类型
	CreatedAt       time.Time      `gorm:"column:create_at;autoCreateTime" json:"create_at"`             // 创建时间
	UpdatedAt       time.Time      `gorm:"column:update_at;autoUpdateTime" json:"update_at"`             // 修改时间
	DeletedAt       gorm.DeletedAt `gorm:"column:delete_at" json:"delete_at"`                            // 软删除
}

func (u *User) TableName() string {
	return "users"
}

const (
	UserTypeAdmin  = 1
	UserTypeNormal = 2
	UserTypeBanned = 3
)
